package megrez.job.common;

import java.nio.charset.StandardCharsets;

import org.springframework.util.StringUtils;

import lombok.experimental.UtilityClass;

/**
 * 字符串工具
 * 
 * @author Lucky Yang
 * @since 2.6.9
 */
@UtilityClass
public class StringHelper {
    /**
     * 字符串的字节真实长度
     * 
     * @param s
     * @return
     */
    public int byteLength(String s) {
        if (!StringUtils.hasText(s)) {
            return 0;
        }

        return s.getBytes(StandardCharsets.UTF_8).length;
    }

    /**
     * 限制字符串的长度
     * 
     * @param s
     * @param limitLength
     * @return
     */
    public String limitLength(String s, int limitLength) {
        if (!StringUtils.hasText(s)) {
            return s;
        }
        if (limitLength <= 0) {
            return "";
        }

        int realLen = byteLength(s);
        if (limitLength > realLen) {
            return s;
        }
        return new String(s.getBytes(), 0, limitLength, StandardCharsets.UTF_8);
    }
}
